草庐IT

c++ - scons 找不到 visual studio

全部标签

sockets - golang write net conn 不返回错误但是socket的另一端收不到数据

//onlyDatafunc(self*Packet)WriteData(wio.Writer)error{n:=len(self.Data)data:=self.Data[0:n]forn>0{wn,err:=w.Write(data)data=data[wn:n]n-=wniferr!=nil{returnerr}}returnnil}当我用net.Conn(由net.Dial("tcp")创建)调用WriteData函数时,它返回nil,但套接字的另一个端口有时无法接收到发送的数据。似乎连接中断了,但是w.Write仍然没有错误地返回。在我看来,当此套接字的另一端未收到数据包时,

go - 为什么调用者看不到 slice 中的新数据?

这个问题在这里已经有了答案:Golangappendanitemtoaslice(14个答案)关闭6年前。在下面的代码中,为什么fmt.Println(len(people))都打印0?正如这里指出的那样,https://stackoverflow.com/a/2441112/315445,而在其他地方,slice是引用类型。为什么调用者(主)看不到更新的数据?packagemainimport"fmt"typePersonstruct{namestringagestring}funcmain(){varpeople=make([]Person,0)fmt.Println(len(pe

go - GO中找不到包 "internal/cpu"错误

作为内部包转internal/cpu它公开了所有必要的功能来检测SIMD的风格。请参阅bytespackage中的使用示例.我正在尝试从internal/cpu包获取功能标志变量,但是当我尝试执行gobuild时,出现以下错误:找不到包“内部”/CPUimport("fmt""internal/cpu")funcmain(){ifcpu.X86.HasAVX2{fmt.Println("AVX2SIMDinstructionsavailable")}}我做错了什么? 最佳答案 由于此规则,您将无法导入internal/cpu:Cod

unit-testing - 去单元测试找不到所需的文件

我在go中编写了一个单元测试,同一文件的init方法在项目的根目录中打开了一个文件。我遇到的问题是,当我运行测试时,测试包是不包含所需文件的根目录。如何告诉测试函数查看文件而不在测试文件的目录中创建重复文件?文件结构:main.go|+-helpers|+-data.go|+-data_test.gorequired_file.txt测试命令:gotestgithub.com/testproj/helpersdata.go中的代码:funcinit(){file,err:=os.Open("required_file.txt")iferr!=nil{log.Fatal(err)

go - 在 slice 中搜索字符串时找不到句柄

基于这个基于sortpackage的相当简单的代码.o1的响应索引无效,正如@JimB所指出的,因为二进制搜索需要更大或等于运算符l:=[]string{"o1","o2","o3"}i1:=sort.Search(len(l),func(iint)bool{returnstrings.EqualFold(l[i],"o1")})fmt.Println("o1:",i1)//PRINTS3-WRONGhttps://play.golang.org/p/nUs-ozTYsY工作解决方案是:l:=[]string{"o1","o2","o3"}i1:=sort.Search(len(l),

无法读取 utmpx 文件

packagemainimport("os""fmt")funcmain(){fd,err:=os.Open("/var/run/utmpx")fmt.Println(fd,err)vardata[]bytelen,err:=fd.Read(data)fmt.Println(len,err)}&{0xc42000a240}nil0nil没有错误,也没有数据。这个路径/var/run/utmpx是从系统头文件中读取的。如何得到这个路径是anotherquestion系统:macOSelcapiton,go版本go1.8darwin/amd64**我的最终目标是将此文件读入gostruct

c - 与 c 相比,Go 的二进制大小

这个问题在这里已经有了答案:ReasonforhugesizeofcompiledexecutableofGo(3个答案)关闭6年前。昨天我只是想比较简单的golangHelloWorld应用程序和c,gobinary是2-3MB(只是fmt.Println)然而,等效的C代码只有大约20kb(printf)。然后我检查了两个二进制文件正在执行的系统调用,使用strace;两者之间没有太大区别,所以你知道为什么golang二进制文件与等效的c语言相比如此庞大吗?

找不到 Golang amazon s3 环境访问 key

我创建了一个新的I-AM用户设置该用户权限以完全访问S3然后我看到MacBook的环境变量具有正确的Key和Key-ID。然后我关注了亚马逊文档http://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/common-examples.html#s3列出我所有的桶,我收到了错误无法列出存储桶EnvAccessKeyNotFound:在环境中找不到AWS_ACCESS_KEY_ID或AWS_ACCESS_KEY不知道为什么不能识别我的代码funcUploadProfile(){svc:=s3.New(session.New(&aws.

c - 从 Golang 中的 c 函数返回字符串

我正在尝试在GO中调用C函数。这适用于某些扩展(对于整数)。但是,存在问题下面给出了一个最小的例子packagemain/*#include#include#includevoidmy_reverse(char*src,intlen,char*dst){dst=malloc(sizeof(char)*(len+1));printf("[c-part]src=%s\n",src);for(inti=0;i这是两个c函数,它们在c中分配一个新的缓冲区。但是,我得到了输出[c-part]src=HelloWorld[c-part]dst=dlroWolleH[gopart]dst=willr

golang 在子目录中找不到包 gin

我收到以下错误消息:controllers/user.go:4:2:cannotfindpackage"(underscore)/home/ubuntu/goapi/src/github.com/roes/api/vendor/github.com/gin-gonic/gin"inanyof:/usr/local/go/src/(underscore)/home/ubuntu/goapi/src/github.com/roes/api/vendor/github.com/gin-gonic/gin(from$GOROOT)/home/ubuntu/goapi/src/_(undersc